SP 800-67 Recommendation for the Triple Data Encryption Algorithm (TDEA) block cipher
1. どんなもの?
DES、TDEA(T-DES, 3DES)の暗号アルゴリズムについて
2. 先行研究と比べてどこがすごい?
現実的な解読時間で解読されるDESを、簡易だけれども既存のDES実装を利用しつつ暗号強度を高いアルゴリズムを実装した。
3. 技術や手法のキモはどこ?
DESを暗号化→復号→暗号化するときちんと暗号化できる
復号も復号→暗号化→復号できる
既存のDES実装を利用できるため、実装の手間が少ない
4. どうやって有効だと検証した?
5. 議論はある?
現代ではショートカット法: 中間一致攻撃によって112ビットのビットセキュリティしかない。
6. 次に読むべき論文は?
============================
code:memo
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7
That is, the permuted input has bit 58 of the input as its first bit, bit 50 as its second bit, and so on,
with bit 7 as its last bit. The permuted input block is then input to a complex key-dependent
computation that is described below. The output of that computation, called the pre-out
つまり、並べ替えられた入力は、入力のビット58を最初のビット、ビット50を2番目のビットとし、以下同様となります。
そして最後のビットがビット7となる。並べ替えられた入力ブロックは、次に説明する複雑な鍵依存の計算に入力される。
後述する複雑な鍵依存計算の入力となる。この計算の出力は、プリアウトと呼ばれる。
code:memo
40 8 48 16 56 24 64 32
39 7 47 15 55 23 63 31
38 6 46 14 54 22 62 30
37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28
35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26
33 1 41 9 49 17 57 25
That is, the output of the algorithm has bit 40 of the pre-output block as its first bit, bit 8 as its second bit, and so on, until bit 25 of the pre-output block is the last bit of the output.
The key-dependent computation that uses the permuted input block as its input to produce the pre-output block consists, except for a final interchange of blocks, of 16 iterations of a calculation that is described below in terms of the function f. This function operates on two blocks, one of 32 bits and one of 48 bits, to produce a block of 32 bits.
つまり、このアルゴリズムの出力は、事前出力ブロックのビット40を最初のビットとし、ビット8を2番目のビットとし、事前出力ブロックのビット25が出力の最後のビットとなるまで、これを繰り返す。
並べ替えられた入力ブロックを入力として使用し、事前出力ブロックを生成する鍵依存の計算は、ブロックの最後の交換を除いて、関数fの観点から以下に説明する計算の16回の繰り返しで構成されています。
code:memo
• 01010101 01010101
• FEFEFEFE FEFEFEFE
• E0E0E0E0 F1F1F1F1
• 1F1F1F1F 0E0E0E0E
以下はサブ鍵での準弱鍵
code:memo
• 011F011F010E010E and 1F011F010E010E01
• 01E001E001F101F1 and E001E001F101F101
• 01FE01FE01FE01FE and FE01FE01FE01FE01
• 1FE01FE00EF10EF1 and E01FE01FF10EF10E
• 1FFE1FFE0EFE0EFE and FE1FFE1FFE0EFE0E
• E0FEE0FEF1FEF1FE and FEE0FEE0FEF1FEF1
下記はサブ鍵での弱鍵
code:memo
01011F1F01010E0E 1F1F01010E0E0101 E0E01F1FF1F10E0E
0101E0E00101F1F1 1F1FE0E00E0EF1F1 E0E0FEFEF1F1FEFE
0101FEFE0101FEFE 1F1FFEFE0E0EFEFE E0FE011FF1FE010E
011F1F01010E0E01 1FE001FE0EF101FE E0FE1F01F1FE0E01
011FE0FE010EF1FE 1FE0E01F0EF1F10E E0FEFEE0F1FEFEF1
011FFEE0010EFEF1 1FE0FE010EF1FE01 FE0101FEFE0101FE
01E01FFE01F10EFE 1FFE01E00EFE01F1 FE011FE0FE010EF1
FE01E01FFE01F10E 1FFEE0010EFEF101 FE1F01E0FE0E01F1
01E0E00101F1F101 1FFEFE1F0EFEFE0E FE1FE001FE0EF101
01E0FE1F01F1FE0E E00101E0F10101F1 FE1F1FFEFE0E0EFE
01FE1FE001FE0EF1 E0011FFEF1010EFE FEE0011FFEF1010E
01FEE01F01FEF10E E001FE1FF101FE0E FEE01F01FEF10E01
01FEFE0101FEFE01 E01F01FEF10E01FE FEE0E0FEFEF1F1FE
1F01011F0E01010E E01F1FE0F10E0EF1 FEFE0101FEFE0101
1F01E0FE0E01F1FE E01FFE01F10EFE01 FEFE1F1FFEFE0E0E
1F01FEE00E01FEF1 E0E00101F1F10101 FEFEE0E0FEFEF1F1
確認用
参考
関連